/**
 * 生成全局唯一标识符 guid
 * @param {boolean} line 是否带横线
 * @returns
 */
export function guid(line = false) {
  const _ = line ? '-' : ''
  const S = () => (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)
  return `${S()}${S()}${_}${S()}${_}${S()}${_}${S()}${_}${S()}${S()}${S()}`
}

/**
 * 解析对象
 * @param {string} objStr
 * @param {any} defaultVal
 * @returns
 */
export function parseObj(objStr, defaultVal = {}) {
  try {
    return JSON.parse(objStr)
  } catch (error) {
    console.log('解析对象失败', error)
    return defaultVal
  }
}

/**拷贝对象 */
export function cloneObj(obj) {
  return JSON.parse(JSON.stringify(obj))
}
